Completed
Push — master ( 8c50a9...1acff7 )
by Alexis
01:55
created

gulp.task(ꞌminify-cssꞌ)   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
1
const gulp         = require('gulp');
2
const autoprefixer = require('gulp-autoprefixer');
3
const babel        = require('gulp-babel');
4
const cleanCSS     = require('gulp-clean-css');
5
const concat       = require('gulp-concat');
6
const rename       = require('gulp-rename');
7
const sass         = require('gulp-sass');
8
const sourcemaps   = require('gulp-sourcemaps');
9
const uglify       = require('gulp-uglify');
10
const pump         = require('pump');
11
12
let sassFiles = 'src/App/Resources/assets/scss/*.scss';
13
let jsFiles   = 'src/App/Resources/assets/js/*.js';
14
let dest      = 'web/assets/';
15
16
gulp.task('sass', function () {
17
    return gulp.src(sassFiles)
18
        .pipe(sourcemaps.init())
19
        .pipe(autoprefixer())
20
        .pipe(sass().on('error', sass.logError))
21
        .pipe(sourcemaps.write('.'))
22
        .pipe(gulp.dest(dest + 'css/'));
23
});
24
25
gulp.task('javascript', function () {
26
    return gulp.src(jsFiles)
27
        .pipe(sourcemaps.init())
28
        .pipe(babel({
29
            presets: ['env']
30
        }))
31
        .pipe(concat('app.js'))
32
        .pipe(sourcemaps.write('.'))
33
        .pipe(gulp.dest(dest + 'js/'));
34
});
35
36
gulp.task('minify-css', function () {
37
    return gulp.src(dest + 'css/*.css')
38
        .pipe(cleanCSS())
39
        .pipe(rename({ suffix: '.min' }))
40
        .pipe(gulp.dest(dest + 'css/'));
41
});
42
43
gulp.task('minify-js', function (cb) {
44
    pump([
45
        gulp.src(dest + 'js/*.js'),
46
        uglify(),
47
        rename({ suffix: '.min' }),
48
        gulp.dest(dest + 'js/')
49
    ], cb);
50
});
51
52
gulp.task('minify', ['minify-css', 'minify-js']);
53
54
gulp.task('build', ['sass', 'javascript']);
55
56
gulp.task('prod', ['build', 'minify']);
57
58
gulp.task('watch', function () {
59
    gulp.watch(sassFiles, ['sass']);
60
    gulp.watch(jsFiles, ['javascript']);
61
});
62
63
gulp.task('default', ['build', 'watch']);
64